package main

import (
	"fmt"
	"github.com/spf13/viper"
	"os"
)

func main() {
	//获取项目的执行路径
	path, err := os.Getwd()
	if err != nil {
		panic(err)
	}
	fmt.Println(path)

	config := viper.New()

	config.AddConfigPath(path + "\\ScoketRedis\\Tong\\hah") //设置读取的文件路径
	config.SetConfigName("config")                          //设置读取的文件名
	config.SetConfigType("yaml")                            //设置文件的类型
	//尝试进行配置读取
	if err := config.ReadInConfig(); err != nil {
		panic(err)
	}

	//打印文件读取出来的内容:
	user := config.Get("mysql.user")
	pwd := config.Get("mysql.pwd")
	host := config.Get("mysql.host")
	port := config.Get("mysql.port")
	db_mame := config.Get("mysql.dbname")
	charset := config.Get("mysql.charset")
	parseTime := config.Get("mysql.parseTime")
	loc := config.Get("mysql.loc")
	fmt.Printf("%v:%v@tcp(%v:%v)/%v?charset=%v&parseTime=%v&loc=%v", user, pwd, host, port, db_mame, charset, parseTime, loc)
	//dsn : "root:123456@tcp(127.0.0.1:3306)/golang_db?charset=utf8mb4&parseTime=True&loc=Local"
}

// 第二种
func Yaml() {
	viper.AddConfigPath("ScoketRedis\\config") //设置读取的文件路径
	viper.SetConfigName("config")              //设置读取的文件名
	viper.SetConfigType("yaml")                //设置文件的类型
	//尝试进行配置读取
	if err := viper.ReadInConfig(); err != nil {
		panic(err)
	}

	//打印文件读取出来的内容:
	addr := viper.GetString("redis.Addr")
	pwd := viper.GetString("redis.Password")
	fmt.Println(addr, pwd)
}
